ARM汇编指令 您所在的位置:网站首页 汇编 lsl ARM汇编指令

ARM汇编指令

2023-07-18 12:11| 来源: 网络整理| 查看: 265

1. ldr/str内存访问

 ldr ,x0,[x8,#4] 把x8+4指向的内存加载到x0  str ,x0,[x8,#8]    把x0指向的内存存储到x8+8地址上.

 

2. mov指令

 mov r0,r1  //r1值赋值给r0

    mov r0,r1 ,lsl #3  //

 

3.加减指令

  add x0,x1,x2 // x0 = x1 + x2

       sub  x0,x1,x2 //x0 = x1-x2

 

4.比较指令

  cmp x0,x1 //比较指令,相等EQ,否则NQ

       tst  x0, 0x01 //测试指令,判度x0最低位是否为0,tst是作与(&)操作,结果为0,EQ生效,否则NQ

      teq  r0, r1 //判断r0是否等于r1, 等于EQ生效,否则NQ

     这三个指令,都影响CPSR的状态位(Z)

 5. 跳转指令

  bne   addr1 //cmp不相等时,跳转

       beq  addr2  //cmp相等时,跳转

6.逻辑操作

  and x0,x0,#0xF //   x0= x0&0xF

        orr   x0,x0,#0xF  //      x0 = 0x || 0xF

        eor  x0,x0,#0xF ///   亦或操作

7.入栈/出栈指令

STP x29, x30, [sp, #0x10] ; 入栈指令

LDP x29, x30, [sp, #0x10] ; 出栈指令

8. STM/LDM指令

格式: LDM{cond}  mode  Rn{!}, reglist{^} //(load  much)多数据加载,将地址上的值加载到寄存器上 STM{cond}  mode  Rn{!}, reglist{^}//(store much)多数据存储,将寄存器的值存到地址上 其中:  Rn:基址寄存器,装有传送数据的起始地址,Rn不允许为R15;  !:表示最后的地址写回到Rn中;  reglist:可包含多于一个寄存器范围,用“,”隔开,如{R1,R2,R6-R9},寄存器由小到大顺序排列;  ^:不允许在用户模式和系统模式下运行,()

主要用途:现场保护、数据复制、参数传送等,共有8种模式(前面4种用于数据块的传输,后面4种是堆栈操作)如下: (1)IA:(Increase After) 每次传送后地址加4,其中的寄存器从左到右执行,例如:STMIA R0,{R1,LR} 先存R1,再存LR (2)IB:(Increase Before)每次传送前地址加4,同上 (3)DA:(Decrease After)每次传送后地址减4,其中的寄存器从右到左执行,例如:STMDA R0,{R1,LR} 先存LR,再存R1 (4)DB:(Decrease Before)每次传送前地址减4,同上 (5)FD:  满递减堆栈 (每次传送前地址减4) (6)FA:  满递增堆栈 (每次传送后地址减4) (7)ED:  空递减堆栈 (每次传送前地址加4) (8)EA:  空递增堆栈 (每次传送后地址加4) 注意:其中在数据块的传输中是STMDB和LDMIA对应,STMIA和LDMDB对应 而在堆栈操作是STMFD和LDMFD对应,STMFA和LDMFA对应

LDMIA R0! ,{R3-R9} ;加R0指向的地址上连续空间的数据,保存到R3-R9当中,!表示R0值更新 STMIA R1!,{R3-R9} ;将R3-R9的数据存储到R1指向的地址上,R1值更新

ldmia   sp, {r0 - pc}^ : 把堆栈内容恢复到ro- pc寄存器. "^" 表示把SPSR赋值给CPSR寄存器

9. MRS和MSR指令

MRS: 状态寄存器到通用寄存器的传送指令。 mrs  r0 cpsr //r0 = cpsr MSR: 通用寄存器到状态寄存器的传送指令 msr cpsr r0 //cprs = r0

10 push和pop指令

push 和pop时ARMv8的入栈宏定义指令,用stp/ldp实现

   push x0,x1 //入栈

   pop  x0,x1 //出栈

11.CBZ 和 CBNZ 比较,为零则跳转;比较,为非零则跳转。 语法 CBZ Rn, label CBNZ Rn, label

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有